package com.xxxx.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xxxx.server.pojo.Admin;
import com.xxxx.server.pojo.ReceiveChangePwdParams;
import com.xxxx.server.pojo.RespBean;
import com.xxxx.server.pojo.Role;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.swing.*;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhoubin
 */
public interface IAdminService extends IService<Admin> {
	/**
	 * 登录之后返回token
	 * @param username
	 * @param password
	 * @param code
	 * @param request
	 * @return
	 */
	RespBean login(String username, String password, String code, HttpServletRequest request);

	/**
	 * 根据用户名获取用户
	 * @param username
	 * @return
	 */
	Admin getAdminByUserName(String username);

	/**
	 * 根据用户id查询角色列表
	 * @param adminId
	 * @return
	 */
	List<Role> getRoles(Integer adminId);

	List<Admin> getAdminsByNameLike(String keywords);

	List<Admin> getAllAdmins(String data);

	/*
	个人中心
	 */
	// 修改信息
	RespBean updateInfo(Admin admin);

	// 修改密码
	RespBean updatePwd(ReceiveChangePwdParams params);



	//图片上传
	RespBean upload(MultipartFile image, HttpServletRequest request);

	//查询所有用户
	List<Admin> queryAllAdmin();






	//根据名字模糊查询
	List<Admin> selectAdminInfo(String keywords);
	//查询角色列表
	List<Role> selectAdminRole();
	//修改操作员的状态
	Integer enableChange(Map<String,Object> admin);
	//通过id删除操作员
	RespBean deleteAdminById(Integer id);
	//修改启用状态
	RespBean updateEnabledById(Map<String, Object> admin);
	//修改操作员的角色
	RespBean updateRolesById(Integer adminId, Integer[] rids);

}
